package com.hup.sokoban.mvp;

import com.hup.sokoban.model.common.MapItem;
import com.hup.sokoban.model.main.MainConfig;
import com.hup.sokoban.model.main.MapInfo;

import java.util.ArrayList;

/**
 * @author hugan
 * @date 2020/4/28
 */
public interface MainMvp {

    interface MainPresenter {
        void startUp();

        MainConfig getConfig();

        /**
         * 加载关卡列表
         */
        ArrayList<MapItem> loadMapList();

        /**
         * 加载关卡信息
         */
        MapInfo getMapInfo(MapItem mapItem);

        /**
         * 没有任何关卡时,省缺的关卡
         */
        MapInfo getEmptyMapInfo();

        boolean isSame(MapItem curMap, MapItem original);

        void saveProgress(MapInfo mapInfo);

        void deleteProgress(MapInfo mapInfo);

        void saveWinning(MapInfo mapInfo);

        void deleteWinning(MapInfo mapInfo);
    }

}
